The present invention relates to an information processing technology. More particularly, the present invention relates to a technology effective for an application wherein an electronic apparatus such as a digital VTR having an IEEE1394 interface is controlled remotely in an exclusive manner by using another electronic apparatus such a digital TV or a digital broadcast tuner, which also has an IEEE1394 interface.
There have been developed a number of technologies to use an electronic apparatus for remotely controlling another electronic apparatus through a network in an environment in which a plurality of electronic apparatuses are connected to each other by the network. For example, the IEEE1394 bus, one of high-speed serial buses, draws attention as media for building a home network, which is used for digitally connecting AV apparatuses such as a digital broadcasting tuner and a digital TV to each other, and expected to become popular in future homes.
As a concrete method for remotely operating an AV apparatus through an IEEE1394 bus, there are an AV/C command standard and an HAVi (Home Audio-Video interoperability) standard. Provided for remotely controlling an AV apparatus Connected by an IEEE1394 bus, the AV/C command standard is a standard defining a low-level command protocol, which can be implemented even in a simple AV apparatus. For details, refer to xe2x80x9cAV/C Digital Interface Command Set General Specification, version 3.0, 1394 Trade Association document number 1998003.xe2x80x9d
On the other hand, the HAVi standard is a standard prescribing basic specifications of software for an AV apparatus connected by an IEEEE1394 bus. The HAVi standard defines an API (Application Programming Interface), which allows an AV apparatus with a relatively high performance to control another AV apparatus through an IEEE1394 network.
For details, refer to xe2x80x9cSpecification of the Home Audio/Video Interpretability Architecture, version 1.0, Home Audio/Video Interpretability Organization.xe2x80x9d
In accordance with the HAVi specifications, control among AV apparatuses is executed by exchanging messages conforming to the HAVi standard among software modules, which are each called a software element. Messages conforming to the HAVi standard are each referred to as a HAVi message. A software element representing an AV apparatus serving as a control object is known as a DCM (Device Control Module) and a software element representing the function of an AV apparatus serving as a control object is known as an FCM (Functional Component Module). Assume that an AV apparatus serving as a controller makes an attempt to control an AV apparatus serving as a target. The AV apparatus serving as the controller is referred to as a controller device and the AV apparatus serving as the target is called a target device. In this case, an application module functioning as a software element in the controller device transmits a HAVi message to a DCM and an FCM of the target device in order to remotely control the target device. Receiving the HAVi message, the DCM or the FCM controls the target device in accordance with the HAVi message.
Control of a target device through a DCM or an FCM is a major characteristic of the HAVi standard. In actuality, the DCM and the FCM do not have to exist in the target device. That is to say, the DCM and the FCM may exist in another device. A FAV device is a device of a category functioning as a control device. A code unit is uploaded from a target device to an FAV device through an IEEE1394 bus. The code unit is software code of the DCM or the FCM of the target device. The FAV device is capable of executing the software code of the DCM and the software code of the FCM, which were uploaded to the FAV device.
The software code of the DCM and the software code of the FCM are written in one of programming languages called JAVA. The FAV device needs to provide an environment for executing code written in the JAVA programming language.
On the other hand, a target device is implemented as a BAV device, which is one of device categories of the HAVi standard. A BAV device has a configuration including embedded data called SDD data and allowing another apparatus to reference the SDD data through an IEEE1394 bus with a high degree of freedom. While a BAV device does not have an environment for executing a DCM and an FCM, the BAV""s own DCM and FCM are stored in the SDD data as a code unit.
FIG. 8 is a diagram showing the configuration of a system in which a FAV device 101 loads a code unit of a BAV device 102. The FAV device 101, the BAV device 102 and a LAV device 103 are connected to an IEEE1394 bus 104. The LAV device 103 is also one of device categories in the HAVi standard. Even though the LAV device 103 has a 1394 interface, it represents a device not conforming to the HAVi standard. The FAV device 101 reads out SDD data stored in a memory 202 of the BAV device 102 to upload a code unit 105 to a memory 201. The code unit 105 includes a DCM 106 and an FCM 107 used for controlling the BAV 102. The FAV device 101 executes the DCM 106 and the FCM 107 in the FAV device 101.
An application module in the FAV device 101 sends an HAVi message to the DCM 106 and the FCM 107, which control the BAV device 102 through the IEEE1394 bus 104 by adopting a method. The DCM 106 or the FCM 107 conceivably communicates with the BAV device 102 typically in accordance with the AV/C command standard.
As described above, an AV apparatus can be operated remotely by adopting the AV/C command or HAVi standard. However, a target device may have to respond to remote control commands issued by a plurality of control devices in an exclusive manner. Assume, for example, that a digital VTR serving as a target device and two digital TVs each functioning as a control device are connected to a network. In the exclusive-control scheme, while the digital VTR is playing back a video tape as remotely commanded by one of the digital TVs, the digital VTR is put in a state of being enabled to respond to a remote operation command issued by the other digital TV. A method to implement exclusive use of a target device is prescribed in the AV/C command standard and the HAVi standard.
In the AV/C command standard, a reserve command is prescribed. When a target device receives a reserve command from a controller device, the target device will reject all kinds of control, which are based on the AV/C command standard and executed by devices other than that issuing the reserve command.
In accordance with the HAVi standard, on the other hand, a software element successfully passing reserve processing of the FCM of a target device is capable of exclusively occupying the FCM. In this case, in order for a software element to exclusively occupying the FCM of a target device, it is thus necessary for the software element to have the reserve processing carried out by another software element known as a resource manager for controlling the utilization of the FCM. The resource manager must exist in an FAV device.
FIG. 9 shows the flow of first remote control processing of the exclusive control of the FCM. In the flowchart shown in FIG. 9, an FAV device 101 is making an attempt to remotely control a BAV device 102. The FAV device 101 includes an application module 109, a resource manager 110 and an FCM 107, which was uploaded from the BAV device 102.
First of all, in processing P601, the application module 109 issues an inquiry about the present state of reservation to the FCM 107. In accordance with the HAVi specifications, the FCM 107 holds a record of a software element presently reserving the FCM 107 itself. A software element presently reserving the FCM 107 is referred to hereafter as a client. In response to the inquiry, in the processing P601, the FCM 107 provides the application module 109 with information indicating that no client is presently reserving the FCM 107.
The information thus notifies the application module 109 of the fact that the FCM 107 can be reserved. In processing P602, the application module 109 issues a request to reserve the FCM 107 to the resource manager 110. Receiving the reserve request from the application module 109, the resource manager 110 carries out processing to reserve the FCM 107. If the reserve processing is successful, the application module 109 sends a control message to the FCM 107 in processing P603. Receiving the control message, the FCM 107 remotely controls the BAV device 102 by using typically an AV/C command.
Assume that a network includes an LAV device not conforming to the HAVi standard in addition to an FAV device and a BAV device, which both conform to HAVi. In this case, if the FAV device makes an attempt to control the BAV device by using the HAVi mechanism while the LAV device functioning as a controller is controlling the BAV device by adopting a method other than the HAVi technique while, it is quite within the bounds of possibility that an exclusive-control mismatch occurs. An example of a method other than the HAVi technique is the AV/C command standard.
FIG. 10 shows the flow of second remote control processing in which a FAV device and a LAV device remotely control a BAV device at the same time. First of all, in processing P701, the LAV device 103 issues an inquiry about information on the present reserve state of the BAV 102 to the BAV 102 by using an AV/C command. In response to the inquiry, in the processing P701, the BAV device 702 provides the LAV device 103 with information indicating that no device is presently reserving the BAV device 102. In the next processing P702, the LAV device 103 carries out processing to reserve the BAV device 102 by using an AV/C command. Then, in the next processing P703, control is executed by using an AV/C command. At this point, the BAV 102 can no longer be controlled by a device other than the LAV device 103 by using an AV/C command.
In the mean time, in the system shown in FIG. 9, the FAV device 101 makes an attempt to reserve and remotely control the BAV device 102 by adopting the HAVi mechanism. In this case, the application module 109 issues an inquiry about the present state of utilization to the FCM 107 in processing P704. Since the FCM 107 is not aware of the fact that the LAV device 103 has reserved the BAV device 102 by using an AV/C command, the FCM 107 provides the application module 109 with information indicating that no client is presently controlling the BAV device 102.
The application module 109 thereby determines that the FCM 107 can be reserved. Therefore, in the next processing P705, the application module 109 issues a request for reservation of the FCM 109 to the resource manager 110. The resource manager 110 reserves the FCM 107 at the request for reservation of the FCM 107 made by the application module 109. Since the reserve processing is successful, the application module 109 sends a control message to the FCM 107 in processing P706. Receiving the control message, the FCM 107 makes an attempt to remotely control the BAV device 102 by using typically an AV/C command. However, the BAV device 102 rejects the AV/C command.
Thus, there is raised a problem that the application module 109 is not capable of controlling the BAV device 102 in spite of the fact that the application module 109 successfully passes the reserve processing.
It is thus an object of the present invention to provide a remotely controllable electronic apparatus, a controlling apparatus and a remote control method that are capable of remotely controlling the remotely controllable electronic apparatus without causing exclusive-control mismatching of the remotely controllable electronic apparatus in a remote operation through a network connecting the apparatuses, such as an IEEE1394 network, even if apparatuses conforming to the HAVi standard and apparatuses not conforming to the HAVi standard are both connected to the network.
Systems and methods described herein address the problems and needs described above. An exemplary system coordinates control of a remotely controllable electronic apparatus by a first and second control apparatus that use different standards to control the remotely controllable electronic apparatus. The remotely controllable electronic apparatus has a network connection function, and embedded software allowing another device to remotely control the electronic apparatus through a network. The first control apparatus has a network connection function and acquires the software from the remotely controllable electronic apparatus through said network. The first control apparatus remotely controls the electronic apparatus by execution of the software in the first control apparatus. The remotely controllable electronic apparatus has an exclusive-control-request-notifying means, which is used for informing the software being executed in the first control apparatus of a request for exclusive control received from the second control apparatus.
In one aspect, the exemplary system identifies whether the electronic apparatus is under exclusive control of an apparatus and passes such information to other apparatuses that are configured to control the electronic device. If necessary the system converts the information into formats complying with various standards such that apparatuses operating under different standards are able to determine/the status of the remotely controllable electronic device. In another aspect, the electronic apparatus indicates a usage status of the electronic apparatus.